/*********************************************************
 * 初学之家(http://www.g2room.com)，提供Java、Javascript（js）、Jquery、
 * 等一些工具或常用功能的实现例子代码，希望能给初学者提供学习和工作上的帮助，
 * 也希望有想提供源代码的朋友能联系我，一起努力，提供更多、更全面、更详细的
 * 一些初学代码例子及经验，帮助更多的人。
 * 
 * 我的联系方式：E-Mail：g2room@163.com
 * 网址：http://www.g2room.com
 * QQ：天涯（1173930590）
 * QQ交流群：323642758
 * 
 * 本站内容为提供各种java、javascript(JS)常用的工具源代码、实例（示例）、
 * 基本配置、教程、手册等；目前Java代码提供的工具（或转换）例子代码如下：
 * BASE64转换工具、bytes相关操作、email收发、文件操作（读写、拷贝、遍历、
 * 多线程copy等）、json格式转换、日志（Log4j）操作工具、Lucene搜索引擎的
 * 创建索引和搜索、各种不同Map的使用、定时器（Quartz）的使用例子、Socket的
 * 连接传输数据例子、WebService的例子及一些常用的工具类如String、Date及
 * JDK自带的一些工具类及函数的使用例子。
 * 
 * 说明：如需直接使用本站的例子代码，请保留此说明
 * 
 ********************************************************/
package com.g2room.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

import com.g2room.utils.DateUtil;

/**
 * 
 *
 * @createTime: Feb 11, 2014 2:36:50 PM
 * @author: <a href="mailto:g2room@163.com">天涯</a>
 * @version: 0.1
 * @lastVersion: 0.1
 * @updateTime: 
 * @updateAuthor: <a href="mailto:g2room@163.com">天涯</a>
 * @changesSum: 
 * 
 */
public class DateSwitch {
	public static void main(String[] args) {
		String time = "";
		try {
			time = DateUtil.date2String(DateUtil.string2Date("2014-02-06 23:59:58.919618", "yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd HH:mm:ss");
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
//		switchDate("26Mar2009");
		System.out.println(time);
	}
	
	/**
	 * 就目前的需求，只需要判断()中的星期是sun或sat。<br>
	 * 根本不需要转换时间后再判断是否是周末。<br>
	 * 但为了将来扩展为指定日期（如周二或1月1日）特价，这里采用转换日期后判断的方式。
	 *
	 * @param dateStr 日期字符串
	 * @return	转换后的日期
	 * @auther <a href="mailto:g2room@163.com">天涯</a>
	 * Feb 11, 2014 2:49:23 PM
	 */
	public static Date switchDate(String dateStr) {
		Date result = null;
		String dateFormat = "ddMMMyyyy";
		if(dateStr.indexOf("(") > 0) {
			dateStr = dateStr.substring(0, dateStr.indexOf("("));
		}
		SimpleDateFormat df = new SimpleDateFormat(dateFormat, Locale.US);
		
		try {
			result = df.parse(dateStr);
			Calendar cal = Calendar.getInstance();
			cal.setTime(result);
			
			System.out.println(cal.get(Calendar.YEAR) + "-" + Calendar.MONTH + "-" + Calendar.DAY_OF_MONTH);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return result;
	}
}
